1 Imports System.Data.SqlClient
2 Imports Excel = Microsoft.Office.Interop.Excel
3 Imports System.IO
4
5 Public Class frmStockRecord
6
7     Public Sub Getdata()
8         Try
9             con = New SqlConnection(cs)
10             con.Open()
11             cmd = New SqlCommand(
"SELECT ST_ID, RTRIM(Stock_ID), [Date], Supplier.ID,RTRIM(Supplier.SupplierID),RTRIM(Supplier.Name), GrandTotal, TotalPayment, PaymentDue, RTRIM(Stock.Remarks) from Supplier,Stock where Supplier.ID=Stock.SupplierID order by [Date]", con)
12             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
13             dgw.Rows.Clear()
14             While (rdr.Read() = True)
15                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9))
16             End While
17             con.Close()
18         Catch ex As Exception
19             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
20         End Try
21     End Sub
22     Private Sub frmLogs_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
23         Getdata()
24     End Sub
25
26     Private Sub dgw_MouseClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles dgw.MouseClick
27         Try
28             If dgw.Rows.Count >
0 Then
29                 Dim dr As DataGridViewRow = dgw.SelectedRows(
0)
30                 frmStock.Show()
31                 Me.Hide()
32                 frmStock.txtST_ID.Text = dr.Cells(
0).Value.ToString()
33                 frmStock.txtStockID.Text = dr.Cells(
1).Value.ToString()
34                 frmStock.dtpDate.Text = dr.Cells(
2).Value.ToString()
35                 frmStock.txtSup_ID.Text = dr.Cells(
3).Value.ToString()
36                 frmStock.txtSupplierID.Text = dr.Cells(
4).Value.ToString()
37                 frmStock.txtSupplierName.Text = dr.Cells(
5).Value.ToString()
38                 frmStock.txtGrandTotal.Text = dr.Cells(
6).Value.ToString()
39                 frmStock.txtTotalPayment.Text = dr.Cells(
7).Value.ToString()
40                 frmStock.txtPaymentDue.Text = dr.Cells(
8).Value.ToString()
41                 frmStock.txtRemarks.Text = dr.Cells(
9).Value.ToString()
42                 frmStock.btnSave.Enabled = False
43                 frmStock.btnUpdate.Enabled = True
44                 frmStock.dtpDate.Enabled = False
45                 frmStock.DataGridView1.Enabled = False
46                 frmStock.btnAdd.Enabled = False
47                 con = New SqlConnection(cs)
48                 con.Open()
49                 Dim sql As String =
"SELECT PID,RTRIM(Product.ProductCode),RTRIM(Productname),Qty,Price,TotalAmount from Stock,Stock_Product,product where product.PID=Stock_product.ProductID and Stock.ST_ID=Stock_Product.StockID and ST_ID=" & dr.Cells(0).Value & ""
50                 cmd = New SqlCommand(sql, con)
51                 rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
52                 frmStock.DataGridView1.Rows.Clear()
53                 While (rdr.Read() = True)
54                     frmStock.DataGridView1.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5))
55                 End While
56                 con.Close()
57             End If
58         Catch ex As Exception
59             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
60         End Try
61     End Sub
62
63     Private Sub dgw_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles dgw.RowPostPaint
64         Dim strRowNumber As String = (e.RowIndex +
1).ToString()
65         Dim size As SizeF = e.Graphics.MeasureString(strRowNumber, Me.Font)
66         If dgw.RowHeadersWidth < Convert.ToInt32((size.Width +
20)) Then
67             dgw.RowHeadersWidth = Convert.ToInt32((size.Width +
20))
68         End If
69         Dim b As Brush = SystemBrushes.ControlText
70         e.Graphics.DrawString(strRowNumber, Me.Font, b, e.RowBounds.Location.X +
15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2))
71
72     End Sub
73     Sub Reset()
74         txtSupplierName.Text =
""
75         dtpDateFrom.Text = Today
76         dtpDateTo.Text = Today
77         DateTimePicker2.Text = Today
78         DateTimePicker1.Text = Today
79         Getdata()
80     End Sub
81     Private Sub btnReset_Click(sender As System.Object, e As System.EventArgs) Handles btnReset.Click
82         Reset()
83     End Sub
84
85     Private Sub btnClose_Click(sender As System.Object, e As System.EventArgs) Handles btnClose.Click
86         Me.Close()
87     End Sub
88
89     Private Sub txtSupplierName_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtSupplierName.TextChanged
90         Try
91             con = New SqlConnection(cs)
92             con.Open()
93             cmd = New SqlCommand(
"SELECT ST_ID, RTRIM(Stock_ID), [Date], Supplier.ID,RTRIM(Supplier.SupplierID),RTRIM(Supplier.Name), GrandTotal, TotalPayment, PaymentDue, RTRIM(Stock.Remarks) from Supplier,Stock where Supplier.ID=Stock.SupplierID and [Name] like '%" & txtSupplierName.Text & "%' order by [Date]", con)
94             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
95             dgw.Rows.Clear()
96             While (rdr.Read() = True)
97                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9))
98             End While
99             con.Close()
100         Catch ex As Exception
101             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
102         End Try
103     End Sub
104
105
106     Private Sub btnExportExcel_Click(sender As System.Object, e As System.EventArgs) Handles btnExportExcel.Click
107         Dim rowsTotal, colsTotal As Short
108         Dim I, j, iC As Short
109         System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
110         Dim xlApp As New Excel.Application
111         Try
112             Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
113             Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(
1), Excel.Worksheet)
114             xlApp.Visible = True
115
116             rowsTotal = dgw.RowCount
117             colsTotal = dgw.Columns.Count -
1
118             With excelWorksheet
119                 .Cells.Select()
120                 .Cells.Delete()
121                 For iC =
0 To colsTotal
122                     .Cells(
1, iC + 1).Value = dgw.Columns(iC).HeaderText
123                 Next
124                 For I =
0 To rowsTotal - 1
125                     For j =
0 To colsTotal
126                         .Cells(I +
2, j + 1).value = dgw.Rows(I).Cells(j).Value
127                     Next j
128                 Next I
129                 .Rows(
"1:1").Font.FontStyle = "Bold"
130                 .Rows(
"1:1").Font.Size = 12
131
132                 .Cells.Columns.AutoFit()
133                 .Cells.Select()
134                 .Cells.EntireColumn.AutoFit()
135                 .Cells(
1, 1).Select()
136             End With
137         Catch ex As Exception
138             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
139         Finally
140             
'RELEASE ALLOACTED RESOURCES
141             System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
142             xlApp = Nothing
143         End Try
144     End Sub
145
146     Private Sub btnGetData_Click(sender As System.Object, e As System.EventArgs) Handles btnGetData.Click
147         Try
148             con = New SqlConnection(cs)
149             con.Open()
150             cmd = New SqlCommand(
"SELECT ST_ID, RTRIM(Stock_ID), [Date], Supplier.ID,RTRIM(Supplier.SupplierID),RTRIM(Supplier.Name), GrandTotal, TotalPayment, PaymentDue, RTRIM(Stock.Remarks) from Supplier,Stock where Supplier.ID=Stock.SupplierID and [Date] between @d1 and @d2 order by [Date]", con)
151             cmd.Parameters.Add(
"@d1", SqlDbType.DateTime, 30, "Date").Value = dtpDateFrom.Value.Date
152             cmd.Parameters.Add(
"@d2", SqlDbType.DateTime, 30, "Date").Value = dtpDateTo.Value
153             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
154             dgw.Rows.Clear()
155             While (rdr.Read() = True)
156                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9))
157             End While
158             con.Close()
159         Catch ex As Exception
160             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
161         End Try
162     End Sub
163
164     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
165         Try
166             con = New SqlConnection(cs)
167             con.Open()
168             cmd = New SqlCommand(
"SELECT ST_ID, RTRIM(Stock_ID), [Date], Supplier.ID,RTRIM(Supplier.SupplierID),RTRIM(Supplier.Name), GrandTotal, TotalPayment, PaymentDue, RTRIM(Stock.Remarks) from Supplier,Stock where Supplier.ID=Stock.SupplierID and [Date] between @d1 and @d2 and PaymentDue > 0 order by [Date]", con)
169             cmd.Parameters.Add(
"@d1", SqlDbType.DateTime, 30, "Date").Value = DateTimePicker2.Value.Date
170             cmd.Parameters.Add(
"@d2", SqlDbType.DateTime, 30, "Date").Value = DateTimePicker1.Value
171             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
172             dgw.Rows.Clear()
173             While (rdr.Read() = True)
174                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9))
175             End While
176             con.Close()
177         Catch ex As Exception
178             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
179         End Try
180     End Sub
181 End Class


Gõ tìm kiếm nhanh...